#ifndef __CONTENIDO_H__
#define __CONTENIDO_H__

#include "Imprimible.h"
#include "Textura.h"

using namespace std;

class Contenido : public Imprimible{

	private:
		static int altoContenido;
		static int anchoContenido;
		static bool tamanioCaminoCalculado;
		int fila;
		int columna;
		char textura;
		string tipoTextura;
		Textura* texturaBMP;
		bool freeTextura ;

	protected:
		void resolverTextura(const string& path);
		void resolverTextura();

	public:
		static int getAnchoContenido();
		static int getAltoContenido();
		Contenido();
		int getFila();
		int getColumna();
		Textura* getTexturaBMP();
		char getTextura();
		string getTipoTextura();

		virtual bool esCamino() = 0;

		void setPosicion(int fila, int columna);
		void setTexturaBMP(Textura* textura);
		void setTextura(char textura);
		void setTextura(const string& textura);

		virtual void imprimir() = 0;
		virtual void imprimir2() = 0;

		~Contenido();
};

#endif 